/*
 * stmflash.h
 *
 *  Created on: Nov 17, 2023
 *      Author: lye21
 */

#ifndef INC_STMFLASH_H_
#define INC_STMFLASH_H_

#include "main.h"
#include "stdio.h"

#define PageSize				FLASH_PAGE_SIZE

/**
 *	第一部分：BootLoader 		起始地址:	0x08000000 	大小为:16K  第0-7页
 *	第二部分：Application_1 	起始地址:	0x08004000	大小为:118K 第8-66页
 *	第三部分：Application_2 	起始地址:	0x08021800 	大小为:118K 第67-125页
 *	第四部分：USer		 	起始地址:	0x0803f000 	大小为:4K   第126-127页
 */
#define BootLoader_Size				0x6600U						// BootLoader的区间大小  16K
#define Application_Size			0x9470U						// Application的区间大小 118K
#define AppPages	Application_Size / 0x400					// 程序分区所占页数

#define Application_1_Addr		0x8005E00				// 应用程序1的首地址

#define User_Addr				0x08080800U				// 用户自定义空间，存放是否升级标志和neai 知识库

void WriteFlash(uint32_t addr, uint8_t *buff, int buf_len);

#endif /* INC_STMFLASH_H_ */
